import { SystemInfo } from './constant';

// use localStorage to store the authority info, which might be sent from server in actual project.
export function getAuthority(str) {
  // return localStorage.getItem('antd-pro-authority') || ['admin', 'user'];
  const authorityString = (typeof str === 'undefined') ? localStorage.getItem(SystemInfo.localStorageAuthorityKey) : str;
  // authorityString could be admin, "admin", ["admin"]
  let authority;
  try {
    authority = JSON.parse(authorityString);
  } catch (e) {
    authority = authorityString;
  }
  if (typeof authority === 'string') {
    return [authority];
  }
  return authority || ['admin'];
}

export function setAuthority(authority) {
  let proAuthority = (typeof authority === 'string') ? [authority] : authority;
  if (!proAuthority) {
    proAuthority = [];
  }
  return localStorage.setItem(SystemInfo.localStorageAuthorityKey, JSON.stringify(proAuthority));
}
